Typically, logic circuitry operates by generating signals having one of two levels corresponding to the one and zero of binary logic. The two levels include a low level and a high level. Logic circuitry operating in this manner can be characterized as operating in the active-low or active-high modes.
In the active-low mode, the logic circuitry generates a low-level signal in response to a positive event. Conversely, in the active-high mode, the logic circuitry generates a high-level signal in response to a positive event.
The selection of either active-low or active-high modes is termed the selection of the polarity of the logic signal. In particular implementations of logic circuitry, the selection of one or the other polarity can result in simplification of the circuitry necessary for a given function. For instance, for a given function, an active-low logic circuit may require fewer logic gates to accomplish the function than would be required if the logic circuit were designed to operate in the active-high mode.
The ability to programmably select the output polarity of a given logic circuit results in increased flexibility of design for a user of a logic circuit. For example, field-programmable logic arrays can be made more flexible and therefore more adaptable to particular logic functions, by providing the ability to programmably select the output polarity of the outputs from the array.
Most devices, such as logic arrays, in which programmably selectable output polarity is useful, operate very rapidly. So propagation delays through a circuit providing programmable output polarity must be minimized to avoid diminished performance that may limit the range of usefulness of the device.
In addition, the ability to test the operation of the output polarity setting circuitry is desirable to provide more reliable devices. Without the ability to test, it may be difficult to determine whether the logic circuit employing the output polarity selecting circuitry is operating reliably in the desired output polarity.
In sum, there is a need for devices having programmable output polarity that are testable and fast. The flexibility and reliability of circuits employing such devices will thereby be enhanced.